/**
 *
 * @file
 * @author Filipe Mutz
 *
 * @section DESCRIPTION
 *
 * This file contains the abstract class defining a neuron
 *
 */

#ifndef _NN_LIB_NEURON_H_
#define _NN_LIB_NEURON_H_

#include <vector>

using namespace std;

namespace nn_lib
{
	namespace neuron
	{
		template<class InputClass, class OutputClass>
		class Neuron
		{
			public:
				Neuron(){}
				~Neuron(){}
				virtual void train(vector<InputClass>, OutputClass) = 0;
				virtual OutputClass test(vector<InputClass>) = 0;
		};
	}
}

#endif // _NN_LIB_NEURON_H_

// @
